"""
weihua 250208
还是换用 modelscope 提供的 beta api,
创建了一个 oss bucket 用于公网存储图片。

使用时要注意先运行 p1, 将本地图片上传到云oss (这一步纯粹是为了迁就这个 beta 版本的 api ...)
再进行 p2 的模型生成。
"""
from openai import OpenAI

def get_response(image_url):
    client = OpenAI(
        base_url='https://api-inference.modelscope.cn/v1/',
        api_key='9af0a658-ba22-4edb-a4f2-6861f99a29bf', 
    )

    response = client.chat.completions.create(
        model='Qwen/Qwen2.5-VL-7B-Instruct', # ModelScope Model-Id
        messages=[{
            'role':
                'user',
            'content': [{
                'type': 'text',
                'text': '描述这幅图',
            }, {
                'type': 'image_url',
                'image_url': {
                    'url': image_url,
                },
            }],
        }],
        stream=False
    )
    """
    切换成流式显示：
    1. stream 参数设置为 Ture
    2. 输出改为：
        for chunk in response:
            print(chunk.choices[0].delta.content, end='', flush=True)
    """

    return response.choices[0].message.content

if __name__ == '__main__':
    url = 'https://opea-smartdrawer-weihua.oss-cn-beijing.aliyuncs.com/pic-model/uml-test.jpg'
    res = get_response(url)
    print(res)